package cn.blnp.net.flowable.event.end.termination;

import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import javax.annotation.Resource;

/**
 * <h3>结束事件-终止结束事件</h3>
 *
 * @author <a href="mailto:blnp.yibin@qq.com">lyb</a>
 * @version 1.0
 * @since 2025/5/8 15:30
 */
@Slf4j
@SpringBootTest
public class TerminalEventEnd {

    @Resource
    private RepositoryService repositoryService;
    @Resource
    private RuntimeService runtimeService;
    @Resource
    private TaskService taskService;

    /**
     *  <p>
     *      当流程流转到终止结束事件时，当前流程实例或子流程将会被终止。如果流程实例有多个流程分支被激活，只要有一个分支流转到终止结束事件，所有其他流程分支也会立即被终止。
     *   终止结束事件对嵌入式子流程、调用活动、事件子流程或事务子流程均有效。定义格式如下所示：
     *  </p>
     *  <pre>
     *      {@code
     *          <endEvent id="myEndEvent">
     *              <terminateEventDefinition flowable:terminateAll="true"/>
     *          </endEvent>
     *      }
     *  </pre>
     *  <p>
     *      <b style="color:red;">特别注意：</b>terminateAll属性是可选项，默认为false。当存在多实例的调用活动或嵌入式子流程时，如果terminateAll属性为默认值false，则仅终止当前实
     *   例，而其他实例与子流程不会受影响。如果terminateAll属性设置为true，则不论该终止结束事件在流程定义中的什么位置，也不论它是否在子流程（甚至是嵌套子流程）中，都会终止（根）流程实例。
     *  </p>
     **/
    @Test
    public void test() {

    }
}
